<?php
header('Content-Type:application/json;charset=utf-8');
$raw=file_get_contents('php://input');
$raw=json_decode($raw,true);
$time=$raw['time'];
$flid=$raw['flid'];
if( !is_dir("分类/$flid/指标") ){
    @mkdir("分类/$flid/指标");
}

//排序
function px($a,$b){
    if( $a<$b ){
        return -1;
    }
    if( $a>$b ){
        return 1;
    }
}
if( $flid != '' ){
    if( file_exists("名称/分类/$flid") ){
        $arr=arrdir("分类/$flid/指标");
        usort($arr,'px');
        $sz=array();
        if(count($arr) != 0){
            for($i=0;$i<count($arr);$i++){
                //获取公式
                $gs=file_get_contents("分类/$flid/指标/$arr[$i]/公式");
                
                @$value=jisuan($gs,$time);
                //获取指标名称
                $name=file_get_contents("名称/指标/$arr[$i]");
                
                //上一期指标值
                $sqtime=$time-1;
                if( file_exists("计算/$sqtime") ){
                    $sj="true";
                    @$sqvalue=jisuan($gs,$sqtime);
                }else{
                    $sqvalue="0";
                    $sj="false";
                }
                //计算百分比
                $shu=sprintf("%.2f",0);
                if($sqvalue!="0"){
                   $shu=($value-$sqvalue)/$sqvalue*100;
                   $shu=sprintf("%.2f",$shu);
                }
                if(strpos($shu,'-')!==false){
                    $bj='↓';
                    $shu=str_replace('-','',$shu);
                }else{
                    $bj='↑';
                }
                if($shu=='0.00'){
                    $bj='无变化';
                }
                $shu=$shu.'%';
                $szz=['name'=>$name,'value'=>$value,'sqvalue'=>$sqvalue,'shu'=>$shu,'bj'=>$bj,'sj'=>$sj];
                //$szz=['id'=>$arr[$i],'name'=>$name,'ps'=>$ps,'gs'=>$gs];
                array_push($sz,$szz);
            }
        }
        $arr=array('msg'=>'成功','content'=>$sz);
        echo json_encode($arr,JSON_UNESCAPED_UNICODE);
    }else{
        $arr=array('msg'=>'失败','content'=>'该分类ID不存在！');
        echo json_encode($arr,JSON_UNESCAPED_UNICODE);
    }
}else{
    $arr=array('msg'=>'失败','content'=>'参数不完整！');
    echo json_encode($arr,JSON_UNESCAPED_UNICODE);
}


//浏览目录并删除数组中的..和.
function arrdir($dir){
    if( is_dir($dir) ){
        if( $arr=scandir($dir) ){
            $sz=array();
            for($i=0;$i<count($arr);$i++){
                if($arr[$i]!='..' && $arr[$i]!='.'){
                    array_push($sz,$arr[$i]);
                }
            }
            return $sz;
        }else{
            return false;
        }
    }else{
        return false;
    }
}
//把字符串转为计算公式
function jisuan($gs,$time){
    //判断公式有几个值
    preg_match_all('%[^-()+*/\d]+%', $gs, $result, PREG_PATTERN_ORDER);
    $result = $result[0];
    #$cd = count($result);
    for($i=0;$i<count($result);$i++){
        $z1=0;
        if( file_exists("时间/$time/$result[$i]") ){
            $z1=file_get_contents("时间/$time/$result[$i]");
        }
        $gs=str_replace($result[$i],$z1,$gs);
    }
    //计算公式
    $num=eval("return $gs;");
    $num=sprintf("%.2f",$num);
    return $num;
}
